Time-based navigation within resource utilization data

ABSTRACT

The present invention extends to methods, systems, and computer program products for time-based navigation within resource utilization data. A computer system is configured to present resource utilization data representing performance of computer resources. The resource utilization data is displayed on a diagnostic data trace during the execution of the application. The user can select a desired time range and the resource utilization data within the time range will be displayed at other traces. The diagnostic data trace is still presented so that the user can understand the relation between the selected time range and the overall time length. Further, the user can modify the selected time range by change the extents of the selected time range using resizing tool. The resource utilization data within the modified selected time range, similarly, is also displayed along with the diagnostic data trace.

CROSS-REFERENCE TO RELATED APPLICATIONS

Not Applicable.

BACKGROUND Background and Relevant Art

Computer systems and related technology affect many aspects of society.Indeed, the computer system's ability to process information hastransformed the way we live and work. Computer systems now commonlyperform a host of tasks (e.g., word processing, scheduling, accounting,etc.) that prior to the advent of the computer system were performedmanually. More recently, computer systems have been coupled to oneanother and to other electronic devices to form both wired and wirelesscomputer networks over which the computer systems and other electronicdevices can transfer electronic data. Accordingly, the performance ofmany computing tasks are distributed across a number of differentcomputer systems and/or a number of different computing environments.

During the development, software developers often monitor the hardwareexecution information of the relevant computer components in order tomake sure that the application is working properly and/or to optimizethe overall performance accordingly. Some tools for software developersprovide a user interface and display the hardware execution informationon a time axis. Specifically, the user interface can display theinformation within a time period chosen by the software developer.

However, user interfaces for these types of tools can lack the abilityto display the relation between the chosen time period and the overalltime scale. As a result, it can be difficult to provide the softwaredeveloper an intuitional way to understand the timing of a certain eventduring the overall computer performance.

BRIEF SUMMARY

The present invention extends to methods, systems, and computer programproducts for time-based navigation within resource utilization data. Adiagnostic data trace is displayed at a display device. The diagnosticdata trace includes resource utilization data. A current visible timerange is selected within the diagnostic data trace. Resource utilizationdata within the current visible time ranges is presented along with thediagnostic data trace at the display device. Each extent of the currentvisible time range has a resizing control displayed on the diagnosticsdata trace.

The current visible time range is modified to create a new visible timerange (e.g., in response to selection of the new visible time range). Insome embodiments, at least one the extents of the current visible timerange is changed to a corresponding extent of the new visible range.Resource utilization data within the new visible time range is displayedalong with the diagnostic data trace at the display device. Each extentof the new visible time range has a resizing control displayed on thediagnostics data trace.

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

Additional features and advantages of the invention will be set forth inthe description which follows, and in part will be obvious from thedescription, or may be learned by the practice of the invention. Thefeatures and advantages of the invention may be realized and obtained bymeans of the instruments and combinations particularly pointed out inthe appended claims. These and other features of the present inventionwill become more fully apparent from the following description andappended claims, or may be learned by the practice of the invention asset forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to describe the manner in which the above-recited and otheradvantages and features of the invention can be obtained, a moreparticular description of the invention briefly described above will berendered by reference to specific embodiments thereof which areillustrated in the appended drawings. Understanding that these drawingsdepict only typical embodiments of the invention and are not thereforeto be considered to be limiting of its scope, the invention will bedescribed and explained with additional specificity and detail throughthe use of the accompanying drawings in which:

FIG. 1 illustrates an example computer architecture that facilitatestime-based navigation within resource utilization data;

FIG. 2 illustrates a flow chart of an example method for time-basednavigation within resource utilization data;

FIG. 3 illustrates a screen shot of an example user interface thatfacilitates time-based navigation within resource utilization data; and

FIG. 4 illustrates an example screen shot of the diagnostic data tracedisplayed with a selected time range.

DETAILED DESCRIPTION

The present invention extends to methods, systems, and computer programproducts for time-based navigation within resource utilization data.

A diagnostic data trace is displayed at a display device. The diagnosticdata trace includes resource utilization data. A current visible timerange is selected within the diagnostic data trace. Resource utilizationdata within the current visible time ranges is presented along with thediagnostic data trace at the display device. Each extent of the currentvisible time range has a resizing control displayed on the diagnosticsdata trace.

The current visible time range is modified to create a new visible timerange (e.g., in response to selection of the new visible time range). Insome embodiments, at least one the extents of the current visible timerange is changed to a corresponding extent of the new visible range.Resource utilization data within the new visible time range is displayedalong with the diagnostic data trace at the display device. Each extentof the new visible time range has a resizing control displayed on thediagnostics data trace.

Embodiments of the present invention may comprise or utilize a specialpurpose or general-purpose computer including computer hardware, suchas, for example, one or more processors and system memory, as discussedin greater detail below. Embodiments within the scope of the presentinvention also include physical and other computer-readable media forcarrying or storing computer-executable instructions and/or datastructures. Such computer-readable media can be any available media thatcan be accessed by a general purpose or special purpose computer system.Computer-readable media that store computer-executable instructions arecomputer storage media (devices). Computer-readable media that carrycomputer-executable instructions are transmission media. Thus, by way ofexample, and not limitation, embodiments of the invention can compriseat least two distinctly different kinds of computer-readable media:computer storage media (devices) and transmission media.

Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM,solid state drives (“SSDs”) (e.g., based on RAM), Flash memory,phase-change memory (“PCM”), other types of memory, other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium which can be used to store desired program code means inthe form of computer-executable instructions or data structures andwhich can be accessed by a general purpose or special purpose computer.

A “network” is defined as one or more data links that enable thetransport of electronic data between computer systems and/or modulesand/or other electronic devices. When information is transferred orprovided over a network or another communications connection (eitherhardwired, wireless, or a combination of hardwired or wireless) to acomputer, the computer properly views the connection as a transmissionmedium. Transmissions media can include a network and/or data linkswhich can be used to carry or desired program code means in the form ofcomputer-executable instructions or data structures and which can beaccessed by a general purpose or special purpose computer. Combinationsof the above should also be included within the scope ofcomputer-readable media.

Further, upon reaching various computer system components, program codemeans in the form of computer-executable instructions or data structurescan be transferred automatically from transmission media to computerstorage media (devices) (or vice versa). For example,computer-executable instructions or data structures received over anetwork or data link can be buffered in RAM within a network interfacemodule (e.g., a “NIC”), and then eventually transferred to computersystem RAM and/or to less volatile computer storage media (devices) at acomputer system. Thus, it should be understood that computer storagemedia (devices) can be included in computer system components that also(or even primarily) utilize transmission media.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. The computerexecutable instructions may be, for example, binaries, intermediateformat instructions such as assembly language, or even source code.Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described above.Rather, the described features and acts are disclosed as example formsof implementing the claims.

Those skilled in the art will appreciate that the invention may bepracticed in network computing environments with many types of computersystem configurations, including, personal computers, desktop computers,laptop computers, message processors, hand-held devices, multi-processorsystems, microprocessor-based or programmable consumer electronics,network PCs, minicomputers, mainframe computers, mobile telephones,PDAs, tablets, pagers, routers, switches, and the like. The inventionmay also be practiced in distributed system environments where local andremote computer systems, which are linked (either by hardwired datalinks, wireless data links, or by a combination of hardwired andwireless data links) through a network, both perform tasks. In adistributed system environment, program modules may be located in bothlocal and remote memory storage devices.

FIG. 1 illustrates an example computer architecture 100 that facilitatestime-based navigation within resource utilization data. Referring toFIG. 1, computer architecture 100 includes components 101 (101A-101D).The ellipses between 101C and 101D represents that that are one or moreadditional components can exist. Thus, there may be as few as two suchcomponents, but there might also be as many as thousands or perhaps morecomponents. Accordingly, FIG. 1 should only be interpreted as an exampleof multi-components computer architecture.

Each of the depicted components may be separate independent computersystems or computer components of a single computer system. For example,components 101 can be GPUs, hard disks, CPUs, or even cores of a CPU.

Each of the depicted components is physically connected or connected toone another over (or is part of) a network, such as, for example, aLocal Area Network (“LAN”), a Wide Area Network (“WAN”), and even theInternet. Accordingly, each of the depicted components as well as anyother connected components and their sub-components, can create messagerelated data and exchange message related data (e.g., Internet Protocol(“IP”) datagrams and other higher layer protocols that utilize IPdatagrams, such as, Transmission Control Protocol (“TCP”), HypertextTransfer Protocol (“HTTP”), Simple Mail Transfer Protocol (“SMTP”),etc.) over the network.

As depicted in FIG. 1, computer architecture 100 includes utilizationmodule 103, navigation module 105, data storage space 107, and displaydevice 109. Components 101 can output raw computing activities 104.Utilization module 103 is configured to receive raw computing activities104 from components 101. Raw computing activities 104 may be any type ofcomputing activities, including reading or writing operations to harddisks, calculations by CPU, or transmissions of data over a network.Upon receiving raw computing activities 104, utilization module 103 cangenerate resource utilization data 106 based on raw computing activities104. Resource utilization data 106 can indicate different performancesof components 101 including executions, synchronizations, input/outputoperations, sleep time, memory management, preemption, or UI processing.

In some embodiments, navigation module 105 generates diagnostic datatrace 108 and submits diagnostic data trace 108 to display device 109.Diagnostic data trace 108 can include resource utilization data 106. Inaddition, the navigation module 105 can receive different time ranges102. A user can select the time range, for example, when the details ofthe resource utilization data within the time range are of interest.Four time ranges (102A, 102B, 102C, and 102D) are illustrated in FIG. 1.However, the ellipses represents that other time ranges can exist.

In one embodiment, upon receiving time range 102A, navigation module 105submits extents 110 of selected time range (102A) together with thediagnostic data trace within selected time range 112 to display device109. Once the user chooses another time range, as an example, 102B,navigation module 105 submits extents 114 of the extents of the newlyselected time range (102B) and the diagnostic data trace within newlyselected time range 116 to display device 109.

In one embodiment, navigation module 105 may communicate with datastorage space 107. Data storage space 107 may store resource utilizationdata 106, time ranges 102, or diagnostic data trace 108 and providessuch information upon the request from navigation module 105.

FIG. 2 illustrates a flow chart of an example method 200 for time-basednavigation within resource utilization data. As method 200 may beperformed by navigation module 105 in FIG. 1, method 200 will now bedescribed with frequent reference to computer architecture 200 of FIG.2.

Method 200 includes an act of presenting a diagnostic data trace at adisplay device, the diagnostic data trace including the resourceutilization data (act 201). For example, navigation module 105 candisplay portions of diagnostic data trace 108. Portions can be evenlyspaced and marked with time intervals. In some embodiments, resourceutilization data 106 are color coded. Color coding can include assigningdifferent presentation colors to resource utilization data correspondingto different components 101. For example, the utilization data generatedby the CPU may be marked as red and the utilization data generated fromthe GPU may be marked as green.

Method 200 includes an act of selecting a current visible time rangewithin diagnostic data trace (act 202). For example, a user can selectand submit time range 102A to navigation module 105. To select thecurrent visible time range, the user may input the start and end valueof the current visible time range. For example, the user may simplyinput “12000” and “12300” to select the time range from 12000milliseconds to 12300 milliseconds. Alternatively, the user may pressthe mouse at a desired start position at the diagnostic data trace, dragit to a desired end position, and then release the mouse.

Method 200 includes an act of presenting resource utilization datawithin the current visible time range along with the diagnostic datatrace at display device, each extent of the current visible time rangehaving a resizing control displayed on the diagnostic data trace (act203). For example, receiving a selected current visible time range 102Afrom the user, navigation module 105 presents extents of selected timerange 110 and diagnostic data trace within selected time range 112 alongwith diagnostic data trace 108 at the display device. Each extent of thecurrent visible time range has a resizing control displayed on thediagnostic data trace. As one embodiment, the resizing control may beshaped as a small red rectangle so that the user may easily click theresizing control.

The diagnostic data trace within the current visible time range isvisually distinguished from the diagnostic data trace outside thecurrent visible time range. For example, in one embodiment, thediagnostic data trace within the current visible time range may befilled with red and the diagnostic data trace outside the currentvisible time range may be filled with light pink (although othercombinations of visually distinguishing indicators [color, size, shape,etc.] are also possible). The extents of the current visible time rangecan also be displayed with marks indicating the start and end value ofthe extents.

In some embodiments, when the current visible time range is selected,the resource utilization data corresponding to each of components 101are displayed in different data traces in greater details. Multipleticks spaced evenly indicating the time interval and marks indicatingthe start time and end time of the current visible time range aredisplayed along the different traces.

Method 200 includes an act of receiving a selection of a new visibletime range (act 204). For example, the user may reselect and submit timerange 102B to navigation module 105 since the user's interest indifferent portions of the resource utilization data might change overtime.

Method 200 includes an act of modifying the current visible time rangein response to the selection of new visible time range (act 205). Theact of modifying the current visible time range further including an actof changing at least one of the extents of current visible time range toa corresponding extent of the new visible time range (act 206) and anact of displaying resource utilization data within new visible timerange along with the diagnostic data trace at the display device, eachextent of the new visible time range having a resizing control displayedon the diagnostic data trace (act 207). For example, when navigationmodule 105 receives new time range 102B, navigation module 105 submitsextents of selected time range (based on time range 102B) 114 anddiagnostic data trace within selected time range (based on time range102B) 116 to display device 109. In response to the selection of the newvisible time range, navigation module 105 may modify the current visibletime range. In modifying the current visible time range, based on therequests from the user, navigation module 105 may change one or more ofthe extents of the current visible time range or pan and zoom thecurrent visible time range.

In some embodiments, in changing the extents of the current visible timerange, the user may click the resizing control of one extent and dragthe extent to a desired position. Alternatively, the user may use akeyboard arrow key to move the extent after click the extent. Forexample, when the user clicks the resizing control of the left extent,the user may use “←” key to change the current visible time range (from12000 to 12300 milliseconds) to a new visible time range (from 11800 to12300 milliseconds).

In some embodiments, in panning the current the visible time range, theuser may click an area outside the current visible time range but withinthe diagnostic data trace to move the center of the current visible timerange to the position where clicking occurred. The user may also clickan area within the current visible time range and drag the currentvisible time range to a desired position. Alternatively, the user mayalso use a keyboard arrow key to move the current visible time rangeafter click the current visible time range. In addition, the user maysimply input the start and end value of the new visible time range. Forexample, the user may input new start value and end value as “11000” and“17000” to select a new visible time range from 11000 to 17000milliseconds.

The navigation module then may display the resource utilization datawithin the new visible time range. Similarly, the new visible time rangeis displayed along with the diagnostic data trace and each extent of thenew visible time range has a resizing control displayed on thediagnostic data trace.

FIG. 3 illustrates a screen shot of an example user interface 300 at thedisplay device of FIG. 1 when example computer architecture 100 performsexample method 200. User interface 300 will be described with respect tothe acts of Method 200 and elements of computer architecture 100.

In some embodiments, as depicted in FIG. 3, the user interface maydisplay diagnostic data trace 301 at the top of the screen. Resourceutilization data 302 may be displayed in a color (e.g., green) withindiagnostic data trace 301. Upon selection of the current visible timerange, rectangular box 303 or other symbols may be displayed to indicatethe current visible time range. The rectangular box may be in a colorvisually distinguishable with the color of the resource utilizationdata. Each extent of the current visible time range has resizing control304 that may be in a form of thumb. Meanwhile, the resource utilizationdata within the current visible time range (i.e., within the rectangularbox) may be in a color substantially different from the color of theextents of the current visible time range and the color of the resourceutilization data outside the time range.

Upon determination of the current visible time range, the detailresource utilization data of each corresponding components within thetime range may be displayed as multiple traces 307 below diagnostic datatrace 301. In one embodiment, the names and IDs 305 of the componentsmay be displayed beside multiple traces 307.

In some embodiments, different performances 306 may be assigned withdifferent presentation colors, 306A, 306B, 306C, 306D, 306E, 306F, 306G.For example, execution of applications may be assigned with red andsynchronizations may be green.

FIG. 4 illustrates an example screen shot of the diagnostic data tracedisplayed with a selected time range. As the diagnostic data trace andthe selected time range may be generated by navigation module 105,screen shot 400 will now be described with frequent reference tocomputer architecture 200 of FIG. 2.

As depicted, resource utilization data may be displayed at a diagnosticdata trace. Multiple ticks 403 may be displayed and evenly spaced toindicate the total length of the diagnostic data trace is 100.0 secondsand the diagnostic data trace is evenly divided by the ticks into fourequal portions. The resource utilization data corresponding to differentcomponents 101 may be assigned with different colors, 402A, 402B, and402C. Although only three colors are showed, this principle describedherein may apply to any interface showing more than three differentperformances. Upon the selection of the current visible time range,current visible time range 404 is displayed at the diagnostic datatrace. Each of the extents has a resizing control 406. Resourceutilization data within the time range (405A, 405B, 405C) is visuallydistinguished with the resource utilization data outside the time range.In one embodiment, start time 408 and end time 407 of the currentvisible time range may be marked.

The present invention may be embodied in other specific forms withoutdeparting from its spirit or essential characteristics. The describedembodiments are to be considered in all respects only as illustrativeand not restrictive. The scope of the invention is, therefore, indicatedby the appended claims rather than by the foregoing description. Allchanges which come within the meaning and range of equivalency of theclaims are to be embraced within their scope.

What is claimed is:
 1. At a computer system, the computer systemincluding one or more processors system memory, and a display device,the computer system configured to present resource utilization datarepresentative of performance for an application, the resourceutilization data derived from a stream of raw computing activitygenerated by one or more components during execution of the application,a method for time-based navigating within the resource utilization data,the method comprising: an act of presenting a diagnostic data trace atthe display device, the diagnostic data trace including the resourceutilization data; an act of selecting a current visible time rangewithin the diagnostic data trace; an act of presenting resourceutilization data within the current visible time range along with thediagnostic data trace at the display device, each extent of the currentvisible time range having a resizing control displayed on the diagnosticdata trace; an act of receiving a selection of a new visible time range;in response to the selection of the new visible time range, an act ofmodifying the current visible time range, including: an act of changingat least one of the extents of the current visible time range to acorresponding extent of the new visible time range; and an act ofdisplaying resource utilization data within the new visible time rangealong with the diagnostic data trace at the display device, each extentof the new visible time range having a resizing control displayed on thediagnostic data trace.
 2. The method as recited in claim 1, wherein theact of presenting resource utilization data further comprises an act ofdisplaying the diagnostic data trace within the current visible range ina first color that is visually distinguishable to a second colorindicating the diagnostic data trace outside the current visible range.3. The method as recited in claim 1, wherein the act of modifying thecurrent visible time range comprises an act of one or more of panningand zooming the current visible time range.
 4. The method as recited inclaim 3, wherein the act of panning the current visible time rangecomprises an act of clicking an area outside of the current visible timerange and within the diagnostic data trace to move the center of thecurrent visible time range to the position where clicking occurred asthe new visible time range.
 5. The method as recited in claim 3, whereinthe act of panning the current visible time range comprises an act ofclicking an area within the current visible time range and dragging thecurrent visible time range to a desired position as the new visible timerange.
 6. The method as recited in claim 3, wherein the act of panningthe current visible time range comprises an act of clicking an areawithin the current visible time range and pressing a keyboard arrow key,wherein pressing the keyboard arrow key causes the current visible timerange to move by a specified fraction of the current visible time rangeas the new visible time range.
 7. The method as recited in claim 1,wherein the act of changing at least one of the extents of the currentvisible time range comprises an act of clicking one of the extents anddragging the extent to a desired position.
 8. The method as recited inclaim 1, wherein the act of changing at least one of the extents of thecurrent visible time range comprises an act of clicking one of theextents and pressing the keyboard arrow key.
 9. The method as recited inclaim 1, wherein the act of presenting the resource utilization dataduring the current visible time range along with the diagnostic datatrace further comprises an act of displaying a plurality of ticks alongan X-axis of the diagnostic data trace.
 10. The method as recited inclaim 1, wherein the resource utilization data is color coded, coloringcoding including assigning different presentation colors to resourceutilization data corresponding to different components included in theone or more components.
 11. A computer program product for use at acomputer system, the computer system a display device, the computersystem configured to present resource utilization data representative ofperformance for an application, the resource utilization data derivedfrom a stream of raw computing activity generated by one or morecomponents during execution of the application, the computer programproduct for implementing a method for time-based navigating within theresource utilization data, the computer program product comprising oneor more computer-storage media having stored thereon computer-executableinstructions that, when executed by a processor, cause the computersystem to perform the method including the following: present adiagnostic data trace at the display device, the diagnostic data traceincluding the resource utilization data; select a current visible timerange within the diagnostic data trace; present resource utilizationdata within the current visible time range along with the diagnosticdata trace at the display device, each extent of the current visiblerange having a resizing control displayed on the diagnostic data trace,wherein the diagnostic data trace within the current visible time rangeis displayed in a first color that is visually distinguishable to asecond color indicating the diagnostic data trace outside the currentvisible range; modify the current visible time range to create a newvisible time range within the diagnostic data; and display resourceutilization data within the new visible time range along with thediagnostic data trace at the display device, each extent of the newvisible time range having a resizing control displayed on the diagnosticdata trace.
 12. The method as recited in claim 11, whereincomputer-executable instructions that, when executed, cause the computersystem to modify the current visible time range comprisecomputer-executable instructions that, when executed, cause the computersystem to perform one or more of: pan the current visible time range;zoom the current visible time range; and change at least one of theextents of the current visible time range to a corresponding extent ofthe new visible time range.
 13. The method as recited in claim 12,wherein computer-executable instructions that, when executed, cause thecomputer system to pan the current visible time range comprisecomputer-executable instructions that, when executed, cause the computersystem to receive user input indicating selection of an area outside ofthe current visible time range and within the diagnostic data trace tomove the center of the current visible time range to the position whereclicking occurred as the new visible time range.
 14. The method asrecited in claim 12, wherein computer-executable instructions that, whenexecuted, cause the computer system to pan the current visible timerange comprise computer-executable instructions that, when executed,cause the computer system to receive user input indicating selection ofan area within the current visible time range and drag the currentvisible time range to a desired position as the new visible time range.15. The method as recited in claim 12, wherein computer-executableinstructions that, when executed, cause the computer system to pan thecurrent visible time range comprise computer-executable instructionsthat, when executed, cause the computer system to receive user inputfrom a keyboard indicating selection an area within the current visibletime range and pressing a keyboard arrow key, the user input frompressing a keyboard arrow key that causes the current visible time rangeto move by a specified fraction of the current visible time range as thenew visible time range.
 16. The method as recited in claim 12, whereincomputer-executable instructions that, when executed, cause the computersystem to change at least one of the extents of the current visible timerange comprise computer-executable instructions that, when executed,cause the computer system to receive user input indicating selection ofone of the extents with a pointing device and dragging the extent to adesired position.
 17. The method as recited in claim 12, whereincomputer-executable instructions that, when executed, cause the computersystem to change at least one of the extents of the current visible timerange comprise computer-executable instructions that, when executed,cause the computer system to receive use input indicating selection ofone of the extents and pressing a keyboard arrow key to move theselected extent to a desired position.
 18. The method as recited inclaim 12, wherein computer-executable instructions that, when executed,cause the computer system to present the resource utilization dataduring the current visible time range along with the diagnostic datatrace further comprise computer-executable instructions that, whenexecuted, cause the computer system to display a plurality of ticksalong an X-axis of the diagnostic data trace.
 19. The method as recitedin claim 12, wherein coloring coding is used to assign differentpresentation colors to resource utilization data corresponding todifferent components included in the one or more components and whereinresource utilization data is color coded red.
 20. At a computer system,the computer system including one or more processors system memory, anda display device, the computer system configured to present resourceutilization data representative of performance for an application, theresource utilization data derived from a stream of raw computingactivity generated by one or more components during execution of theapplication, a method for time-based navigating within the resourceutilization data, the method comprising: an act of presenting adiagnostic data trace at the display device, the diagnostic data traceincluding the resource utilization data; an act of selecting a currentvisible time range within the diagnostic data trace; an act ofpresenting resource utilization data within the current visible timerange along with the diagnostic data trace at the display device, eachextent of the current visible time range having a resizing controldisplayed on the diagnostic data trace, wherein the diagnostic datatrace within the current visible range is displayed in a first colorthat is visually distinguishable to a second color indicating thediagnostic data trace outside the current visible range; an act ofreceiving a selection of a new visible time range; in response to theselection of the new visible time range, an act of modifying the currentvisible time range, including: an act of panning the current visibletime range, including: an act of receiving user input selecting an areaoutside of the current visible time range and within the diagnostic datatrace to move the center of the current visible time range to a positioncorresponding to the selected area; and an act of receiving user inputselecting an area within the current visible time range; and an act ofmoving the current visible time range to a desired position as the newvisible time range; and an act of changing at least one of the extentsof the current visible time range to a corresponding extent of the newvisible time range, including: an act of receiving user input selectingone of the extents; an act of receiving an indication of keyboard arrowkey being pressed; an act of dragging the extent to a desired positionin response to the keyboard arrow key being pressed; and an act ofdisplaying resource utilization data within the new visible time rangealong with the diagnostic data trace at the display device, each extentof the new visible range having a resizing control displayed on thediagnostic data trace.